Technical Field
The present disclosure relates to storage systems and, more specifically, to a layout of a transaction log that enables efficient logging of metadata into entries of the log in a storage system, as well as efficient reclamation and recovery of the log entries.
Background Information
A plurality of storage systems may be interconnected as a cluster and configured to provide storage service relating to the organization of storage containers stored on storage devices, such as disks, coupled to the systems. The storage system cluster may be further configured to operate according to a client/server model of information delivery to thereby allow one or more clients (hosts) to access the storage containers. The disks may be embodied as solid-state drives (SSDs), such as flash storage devices, whereas the storage containers may be embodied as files or logical units (LUNs). Each storage container may be implemented as a set of data structures, such as data blocks that store data for the storage container and metadata blocks that describe the data of the storage container. For example, the metadata may describe, e.g., identify, locations of the data throughout the cluster.
The metadata may be organized and processed as one or more data structures, wherein processing of the metadata involves execution of operations that modify the data structures. Modifications or changes to the metadata of the data structures typically require access to resources of the storage system, such as central processing units (CPUs) and logs that store the metadata. As such, it is desirable that the modifications to the metadata be processed efficiently in the logs. In addition, it is desirable that the metadata be quickly re-playable, so as to support fast and efficient recovery of the storage service.